package com.atguigu.rabbit.producer.test;

import org.junit.jupiter.api.Test;
import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.UUID;

@SpringBootTest
public class Producer07Return {

    @Autowired
    private RabbitTemplate rabbitTemplate ;

    /**
     * 消息可靠性投递 return机制 测试
     */
    @Test
    public void test01() {

        // 在发送消息之前，将消息的内容写入到数据库中，并且为消息分配一个唯一的id，通过CorrelationData对象进行封装
        String msgId = UUID.randomUUID().toString().replace("-", "");
        System.out.println("发送消息：" + msgId);
        CorrelationData correlationData = new CorrelationData(msgId) ;

        // 发送消息（指定一个错误的routingKey）
        rabbitTemplate.convertAndSend("direct_exchange" , "error2" , "hello direct exchange...." , correlationData);

    }
}